// #include<iostream>
// #include<string>
// #include<pthread.h>
// #include<unistd.h>
// #include<vector>



#include"pthread.hpp"
int main()
{
    Thread td;
    td.Start();
    td.Detach();
    td.JoinAble();
    return 0;
}








// //实现创建5个线程，放入一个数组里面
// void*toutine(void *arg)
// {
//    //sleep(1);
//     std::string name=(char*)arg;
//     int cnt=1;
//     while(cnt--)
//     {
//         std::cout<<"new 线程名字"<<name<<std::endl;
//     }
//     return nullptr;
// }

// int main()
// {

// std::vector<pthread_t> tids;
// for(int i=0;i<5;i++)
// {pthread_t id=0;
//   sleep(1);
//     char*buff=new char[64];
//     snprintf(buff,64,"thread-%d",i);
//     pthread_create(&id,nullptr,toutine,(void*)buff);
//     tids.push_back(id);
// }
// for(int i=0;i<5;i++)
// {
//     int n=pthread_join(tids[i],nullptr);
//     if(n==0)
//     printf("wait success\n");
// }


// }



















































// //    int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
// //                           void *(*start_routine) (void *), void *arg);
// void *fun(void *arg)
// {
// std::string name=(char*)arg;
// std::cout<<"这里我应该可以看见"<<std::endl;
// //pthread_exit(nullptr);
// std::cout<<"我是一个线程:"<<name<<pthread_self()<<std::endl;
// int *m=(int *)malloc(sizeof(int));
// *m=10;

// return (void*)m;
// }
// int main()
// {

//     pthread_t id=0;
//    int *val=0;
//     int n=pthread_create(&id,nullptr,fun,(void *)"thread-1");
//     int m=pthread_join(id,(void**)&val);
//     std::cout<<*val<<std::endl;
//      //pthread_exit(nullptr);
// sleep(1);
//     printf("我是main线程%ld\n",id);
//     std::cout<<getpid()<<std::endl;
//     std::cout<<pthread_self()<<std::endl;
//     return 0;
// }
